package com.file.homework;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Scanner;
import java.util.TreeSet;

/**
 * @author げっしょく
 * @date 2021/8/2
 */
public class Demo6 {
    public static void main(String[] args) throws FileNotFoundException {
        /*
        6. 定义学生类，有姓名，年龄，分数三个属性。
            1. 创建三个学生对象，添加到集合中，要求分别按照分数，年龄，姓名作为条件进行排序。
            2. 将集合中的三个学生对象信息存储到当前项目下的stu.txt文件中
        举例：
            张三,18,88
            李四,21,98
            老王,24,91
         */
        TreeSet<Student> ts = new TreeSet<>(new Comparator<Student>() {
            @Override
            public int compare(Student o1, Student o2) {
                int result = o2.getScore() - o1.getScore();
                result = result == 0 ? result : o2.getAge() - o1.getAge();
                result = result == 0 ? result : o2.getName().compareTo(o1.getName());
                return result;
            }
        });
        Student stu1 = new Student("张三" , 18 , 88);
        Student stu3 = new Student("李四" , 21 , 98);
        Student stu2 = new Student("王五" , 24 , 91);
        ts.add(stu1);
        ts.add(stu2);
        ts.add(stu3);
        // 创建一个PrintStream 将文件输入到创建的文件路径之中
        PrintStream file = new PrintStream(new FileOutputStream("stu.txt"));
        System.setOut(file);
        for (Student t : ts) {
            System.out.println(t);
        }
    }
}
